iT邦幫忙

2021 iThome 鐵人賽

DAY 13
0
Mobile Development

轉職App開發打怪雜記系列 第 13

更新ruby&cocoapods

  • 分享至 

  • xImage
  •  

緣由:

更新完xcode,然後要更新第三方套件時,假如遇到管理專案套件的cocoapods版本太舊的時候,就需要更新cocoapods,過去我是用Ruby gem安裝cocoapods,當然更新cocoapods也是可行的,每台Mac都有內建安裝好的Ruby,可以看看版本是不是新的,假如都需要更新,可以參考以下的更新順序:

查看Ruby → 查看rvm → 查看rvm可安裝版本 → 安裝Ruby最新版 → 檢查新Ruby版本 → 更新gem版本 → 使用gem安裝cocoapods → 可更新xcode專案第三方套件

實作:

打開Mac終端機,依序輸入以下指令,即可以更新ruby與cocoapods

檢查ruby當前安裝的版本

Admin@MyMac-mini ~ % ruby -v

ruby 2.6.3p62 (2019–04–16 revision 67580) [universal.x86_64-darwin20]

檢查rvm當前安裝的版本

Admin@MyMac-mini ~ % rvm -v

rvm 1.29.9 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]

列出目前可安裝的版本列表

Admin@MyMac-mini ~ % rvm list known

Warning, new version of rvm available ‘1.29.10’, you are using older version ‘1.29.9’.
You can disable this warning with: echo rvm_autoupdate_flag=0 >> ~/.rvmrc
You can enable auto-update with: echo rvm_autoupdate_flag=2 >> ~/.rvmrc
You can update manually with: rvm get VERSION (e.g. ‘rvm get stable’)
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.10]
[ruby-]2.3[.8]
[ruby-]2.4[.6]
[ruby-]2.5[.5]
[ruby-]2.6[.3]
[ruby-]2.7[.0-preview1]
ruby-head
# for forks use: rvm install ruby-head- — url https://github.com/github/ruby.git — branch 2.2
# JRuby
jruby-1.6[.8]
jruby-1.7[.27]
jruby-9.1[.17.0]
jruby[-9.2.7.0]
jruby-head
# Rubinius
rbx-1[.4.3]
rbx-2.3[.0]
rbx-2.4[.1]
rbx-2[.5.8]
rbx-3[.107]
rbx-4[.3]
rbx-head
# TruffleRuby
truffleruby[-19.1.0]
# Opal
opal
# Minimalistic ruby implementation — ISO 30170:2012
mruby-1.0.0
mruby-1.1.0
mruby-1.2.0
mruby-1.3.0
mruby-1[.4.1]
mruby-2[.0.1]
mruby[-head]
# Ruby Enterprise Edition
ree-1.8.6
ree[-1.8.7][-2012.02]
# Topaz
topaz
# MagLev
maglev-1.0.0
maglev-1.1[RC1]
maglev[-1.2Alpha4]
maglev-head
# Mac OS X Snow Leopard Or Newer
macruby-0.10
macruby-0.11
macruby[-0.12]
macruby-nightly
macruby-head
# IronRuby
ironruby[-1.1.3]
ironruby-head

安裝ruby 2.7.0-preview1的版本

source為當前shell讀入的路徑
~/為當前使用者的主目錄
.bashrc為進入名為.bashrc的文件
.bash_profile為進入名為.bashrc的文件
Admin@MyMac-mini ~ % source ~/.bashrc
Admin@MyMac-mini ~ % source ~/.bash_profile
Admin@MyMac-mini ~ % rvm install 2.7.0-preview1

Warning, new version of rvm available ‘1.29.10’, you are using older version ‘1.29.9’.
You can disable this warning with: echo rvm_autoupdate_flag=0 >> ~/.rvmrc
You can enable auto-update with: echo rvm_autoupdate_flag=2 >> ~/.rvmrc
You can update manually with: rvm get VERSION (e.g. ‘rvm get stable’)
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/11.0/x86_64/ruby-2.7.0-preview1.
Continuing with compilation. Please read ‘rvm help mount’ to get more information on binary rubies.
Checking requirements for osx.
About to install Homebrew in the default location /usr/local.
It is possible to select a custom location, however it is not recommended and some things might not work.
You should do it only if you do not have write rights to /usr/local.
Press ENTER to install Homebrew in the default location /usr/local
or type a custom path (needs to be writable for the current user)
:
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/universal-darwin20/rbconfig.rb:229: warning: Insecure world writable dir /usr/local/opt in PATH, mode 040777
Warning: The Ruby Homebrew installer is now deprecated and has been rewritten in
Bash. Please migrate to the following command:
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Password:輸入使用者密碼
==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew
==> The following existing directories will be made writable by user only:
/usr/local/share/zsh
/usr/local/share/zsh/site-functions
Press RETURN to continue or any other key to abort
==> /usr/bin/sudo /bin/chmod u+rwx /usr/local/share/zsh /usr/local/share/zsh/site-functions
==> /usr/bin/sudo /bin/chmod 755 /usr/local/share/zsh /usr/local/share/zsh/site-functions
==> /usr/bin/sudo /bin/mkdir -p /Users/Admin/Library/Caches/Homebrew
==> /usr/bin/sudo /bin/chmod g+rwx /Users/Admin/Library/Caches/Homebrew
==> /usr/bin/sudo /usr/sbin/chown leo /Users/Admin/Library/Caches/Homebrew
==> Downloading and installing Homebrew…
xcrun: error: active developer path (“/Users/Admin/Desktop/Xcode.app/Contents/Developer”) does not exist

訊息顯示Xcode路徑錯誤

Use sudo xcode-select — switch path/to/Xcode.app to specify the Xcode that you wish to use for command line developer tools, or use xcode-select — install to install the standalone command line developer tools.
See man xcode-select for more details.
Failed during: git init -q
Requirements installation failed with status: 1.

更改已安裝的Xcode路徑

Admin@MyMac-mini ~ % sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
Password:輸入使用者密碼

再次安裝ruby 2.7.0-preview1的版本

Admin@MyMac-mini ~ % rvm install 2.7.0-preview1

Warning, new version of rvm available ‘1.29.10’, you are using older version ‘1.29.9’.
You can disable this warning with: echo rvm_autoupdate_flag=0 >> ~/.rvmrc
You can enable auto-update with: echo rvm_autoupdate_flag=2 >> ~/.rvmrc
You can update manually with: rvm get VERSION (e.g. ‘rvm get stable’)
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/11.0/x86_64/ruby-2.7.0-preview1.
Continuing with compilation. Please read ‘rvm help mount’ to get more information on binary rubies.
Checking requirements for osx.
About to install Homebrew in the default location /usr/local.
It is possible to select a custom location, however it is not recommended and some things might not work.
You should do it only if you do not have write rights to /usr/local.
Press ENTER to install Homebrew in the default location /usr/local
or type a custom path (needs to be writable for the current user)
:
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/universal-darwin20/rbconfig.rb:229: warning: Insecure world writable dir /usr/local/opt in PATH, mode 040777
Warning: The Ruby Homebrew installer is now deprecated and has been rewritten in
Bash. Please migrate to the following command:
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew
Press RETURN to continue or any other key to abort
==> Downloading and installing Homebrew…
remote: Enumerating objects: 63, done.
remote: Counting objects: 100% (63/63), done.
remote: Compressing objects: 100% (59/59), done.
remote: Total 164550 (delta 5), reused 50 (delta 3), pack-reused 164487
Receiving objects: 100% (164550/164550), 42.36 MiB | 6.14 MiB/s, done.
Resolving deltas: 100% (121925/121925), done.
From https://github.com/Homebrew/brew

  • [new branch] add-scheduled-triage -> origin/add-scheduled-triage
  • [new branch] dependabot/bundler/Library/Homebrew/rubocop-1.5.1 -> origin/dependabot/bundler/Library/Homebrew/rubocop-1.5.1
  • [new branch] master -> origin/master
  • [new branch] sorbet -> origin/sorbet
  • [new branch] sorbet-files-update -> origin/sorbet-files-update
  • [new branch] zsh-fpath-fixes -> origin/zsh-fpath-fixes
  • [new tag] 0.1 -> 0.1
  • [new tag] 0.2 -> 0.2
  • [new tag] 0.3 -> 0.3
  • [new tag] 0.4 -> 0.4
  • [new tag] 0.5 -> 0.5
  • [new tag] 0.6 -> 0.6
  • [new tag] 0.7 -> 0.7
  • [new tag] 0.7.1 -> 0.7.1
  • [new tag] 0.8 -> 0.8
  • [new tag] 0.8.1 -> 0.8.1
  • [new tag] 0.9 -> 0.9
  • [new tag] 0.9.1 -> 0.9.1
  • [new tag] 0.9.2 -> 0.9.2
  • [new tag] 0.9.3 -> 0.9.3
  • [new tag] 0.9.4 -> 0.9.4
  • [new tag] 0.9.5 -> 0.9.5
  • [new tag] 0.9.8 -> 0.9.8
  • [new tag] 0.9.9 -> 0.9.9
  • [new tag] 1.0.0 -> 1.0.0
  • [new tag] 1.0.1 -> 1.0.1
  • [new tag] 1.0.2 -> 1.0.2
  • [new tag] 1.0.3 -> 1.0.3
  • [new tag] 1.0.4 -> 1.0.4
  • [new tag] 1.0.5 -> 1.0.5
  • [new tag] 1.0.6 -> 1.0.6
  • [new tag] 1.0.7 -> 1.0.7
  • [new tag] 1.0.8 -> 1.0.8
  • [new tag] 1.0.9 -> 1.0.9
  • [new tag] 1.1.0 -> 1.1.0
  • [new tag] 1.1.1 -> 1.1.1
  • [new tag] 1.1.10 -> 1.1.10
  • [new tag] 1.1.11 -> 1.1.11
  • [new tag] 1.1.12 -> 1.1.12
  • [new tag] 1.1.13 -> 1.1.13
  • [new tag] 1.1.2 -> 1.1.2
  • [new tag] 1.1.3 -> 1.1.3
  • [new tag] 1.1.4 -> 1.1.4
  • [new tag] 1.1.5 -> 1.1.5
  • [new tag] 1.1.6 -> 1.1.6
  • [new tag] 1.1.7 -> 1.1.7
  • [new tag] 1.1.8 -> 1.1.8
  • [new tag] 1.1.9 -> 1.1.9
  • [new tag] 1.2.0 -> 1.2.0
  • [new tag] 1.2.1 -> 1.2.1
  • [new tag] 1.2.2 -> 1.2.2
  • [new tag] 1.2.3 -> 1.2.3
  • [new tag] 1.2.4 -> 1.2.4
  • [new tag] 1.2.5 -> 1.2.5
  • [new tag] 1.2.6 -> 1.2.6
  • [new tag] 1.3.0 -> 1.3.0
  • [new tag] 1.3.1 -> 1.3.1
  • [new tag] 1.3.2 -> 1.3.2
  • [new tag] 1.3.3 -> 1.3.3
  • [new tag] 1.3.4 -> 1.3.4
  • [new tag] 1.3.5 -> 1.3.5
  • [new tag] 1.3.6 -> 1.3.6
  • [new tag] 1.3.7 -> 1.3.7
  • [new tag] 1.3.8 -> 1.3.8
  • [new tag] 1.3.9 -> 1.3.9
  • [new tag] 1.4.0 -> 1.4.0
  • [new tag] 1.4.1 -> 1.4.1
  • [new tag] 1.4.2 -> 1.4.2
  • [new tag] 1.4.3 -> 1.4.3
  • [new tag] 1.5.0 -> 1.5.0
  • [new tag] 1.5.1 -> 1.5.1
  • [new tag] 1.5.10 -> 1.5.10
  • [new tag] 1.5.11 -> 1.5.11
  • [new tag] 1.5.12 -> 1.5.12
  • [new tag] 1.5.13 -> 1.5.13
  • [new tag] 1.5.14 -> 1.5.14
  • [new tag] 1.5.2 -> 1.5.2
  • [new tag] 1.5.3 -> 1.5.3
  • [new tag] 1.5.4 -> 1.5.4
  • [new tag] 1.5.5 -> 1.5.5
  • [new tag] 1.5.6 -> 1.5.6
  • [new tag] 1.5.7 -> 1.5.7
  • [new tag] 1.5.8 -> 1.5.8
  • [new tag] 1.5.9 -> 1.5.9
  • [new tag] 1.6.0 -> 1.6.0
  • [new tag] 1.6.1 -> 1.6.1
  • [new tag] 1.6.10 -> 1.6.10
  • [new tag] 1.6.11 -> 1.6.11
  • [new tag] 1.6.12 -> 1.6.12
  • [new tag] 1.6.13 -> 1.6.13
  • [new tag] 1.6.14 -> 1.6.14
  • [new tag] 1.6.15 -> 1.6.15
  • [new tag] 1.6.16 -> 1.6.16
  • [new tag] 1.6.17 -> 1.6.17
  • [new tag] 1.6.2 -> 1.6.2
  • [new tag] 1.6.3 -> 1.6.3
  • [new tag] 1.6.4 -> 1.6.4
  • [new tag] 1.6.5 -> 1.6.5
  • [new tag] 1.6.6 -> 1.6.6
  • [new tag] 1.6.7 -> 1.6.7
  • [new tag] 1.6.8 -> 1.6.8
  • [new tag] 1.6.9 -> 1.6.9
  • [new tag] 1.7.0 -> 1.7.0
  • [new tag] 1.7.1 -> 1.7.1
  • [new tag] 1.7.2 -> 1.7.2
  • [new tag] 1.7.3 -> 1.7.3
  • [new tag] 1.7.4 -> 1.7.4
  • [new tag] 1.7.5 -> 1.7.5
  • [new tag] 1.7.6 -> 1.7.6
  • [new tag] 1.7.7 -> 1.7.7
  • [new tag] 1.8.0 -> 1.8.0
  • [new tag] 1.8.1 -> 1.8.1
  • [new tag] 1.8.2 -> 1.8.2
  • [new tag] 1.8.3 -> 1.8.3
  • [new tag] 1.8.4 -> 1.8.4
  • [new tag] 1.8.5 -> 1.8.5
  • [new tag] 1.8.6 -> 1.8.6
  • [new tag] 1.9.0 -> 1.9.0
  • [new tag] 1.9.1 -> 1.9.1
  • [new tag] 1.9.2 -> 1.9.2
  • [new tag] 1.9.3 -> 1.9.3
  • [new tag] 2.0.0 -> 2.0.0
  • [new tag] 2.0.1 -> 2.0.1
  • [new tag] 2.0.2 -> 2.0.2
  • [new tag] 2.0.3 -> 2.0.3
  • [new tag] 2.0.4 -> 2.0.4
  • [new tag] 2.0.5 -> 2.0.5
  • [new tag] 2.0.6 -> 2.0.6
  • [new tag] 2.1.0 -> 2.1.0
  • [new tag] 2.1.1 -> 2.1.1
  • [new tag] 2.1.10 -> 2.1.10
  • [new tag] 2.1.11 -> 2.1.11
  • [new tag] 2.1.12 -> 2.1.12
  • [new tag] 2.1.13 -> 2.1.13
  • [new tag] 2.1.14 -> 2.1.14
  • [new tag] 2.1.15 -> 2.1.15
  • [new tag] 2.1.16 -> 2.1.16
  • [new tag] 2.1.2 -> 2.1.2
  • [new tag] 2.1.3 -> 2.1.3
  • [new tag] 2.1.4 -> 2.1.4
  • [new tag] 2.1.5 -> 2.1.5
  • [new tag] 2.1.6 -> 2.1.6
  • [new tag] 2.1.7 -> 2.1.7
  • [new tag] 2.1.8 -> 2.1.8
  • [new tag] 2.1.9 -> 2.1.9
  • [new tag] 2.2.0 -> 2.2.0
  • [new tag] 2.2.1 -> 2.2.1
  • [new tag] 2.2.10 -> 2.2.10
  • [new tag] 2.2.11 -> 2.2.11
  • [new tag] 2.2.12 -> 2.2.12
  • [new tag] 2.2.13 -> 2.2.13
  • [new tag] 2.2.14 -> 2.2.14
  • [new tag] 2.2.15 -> 2.2.15
  • [new tag] 2.2.16 -> 2.2.16
  • [new tag] 2.2.17 -> 2.2.17
  • [new tag] 2.2.2 -> 2.2.2
  • [new tag] 2.2.3 -> 2.2.3
  • [new tag] 2.2.4 -> 2.2.4
  • [new tag] 2.2.5 -> 2.2.5
  • [new tag] 2.2.6 -> 2.2.6
  • [new tag] 2.2.7 -> 2.2.7
  • [new tag] 2.2.8 -> 2.2.8
  • [new tag] 2.2.9 -> 2.2.9
  • [new tag] 2.3.0 -> 2.3.0
  • [new tag] 2.4.0 -> 2.4.0
  • [new tag] 2.4.1 -> 2.4.1
  • [new tag] 2.4.10 -> 2.4.10
  • [new tag] 2.4.11 -> 2.4.11
  • [new tag] 2.4.12 -> 2.4.12
  • [new tag] 2.4.13 -> 2.4.13
  • [new tag] 2.4.14 -> 2.4.14
  • [new tag] 2.4.15 -> 2.4.15
  • [new tag] 2.4.16 -> 2.4.16
  • [new tag] 2.4.2 -> 2.4.2
  • [new tag] 2.4.3 -> 2.4.3
  • [new tag] 2.4.4 -> 2.4.4
  • [new tag] 2.4.5 -> 2.4.5
  • [new tag] 2.4.6 -> 2.4.6
  • [new tag] 2.4.7 -> 2.4.7
  • [new tag] 2.4.8 -> 2.4.8
  • [new tag] 2.4.9 -> 2.4.9
  • [new tag] 2.5.0 -> 2.5.0
  • [new tag] 2.5.1 -> 2.5.1
  • [new tag] 2.5.10 -> 2.5.10
  • [new tag] 2.5.11 -> 2.5.11
  • [new tag] 2.5.12 -> 2.5.12
  • [new tag] 2.5.2 -> 2.5.2
  • [new tag] 2.5.3 -> 2.5.3
  • [new tag] 2.5.4 -> 2.5.4
  • [new tag] 2.5.5 -> 2.5.5
  • [new tag] 2.5.6 -> 2.5.6
  • [new tag] 2.5.7 -> 2.5.7
  • [new tag] 2.5.8 -> 2.5.8
  • [new tag] 2.5.9 -> 2.5.9
  • [new tag] 2.6.0 -> 2.6.0
  • [new tag] 2.6.1 -> 2.6.1
    HEAD is now at 2be340c6d Merge pull request #9506 from reitermarkus/bump-unversioned-casks
    ==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
    https://github.com/Homebrew/brew#donations
    ==> Tapping homebrew/core
    Cloning into ‘/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core’…
    remote: Enumerating objects: 76, done.
    remote: Counting objects: 100% (76/76), done.
    remote: Compressing objects: 100% (42/42), done.
    remote: Total 854555 (delta 46), reused 55 (delta 34), pack-reused 854479
    Receiving objects: 100% (854555/854555), 338.36 MiB | 5.08 MiB/s, done.
    Resolving deltas: 100% (577085/577085), done.
    Updating files: 100% (5652/5652), done.
    Tapped 2 commands and 5376 formulae (5,677 files, 371.4MB).
    Already up-to-date.
    ==> Installation successful!
    ==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
    Read the analytics documentation (and how to opt-out) here:
    https://docs.brew.sh/Analytics
    No analytics data has been sent yet (or will be during this install run).
    ==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
    https://github.com/Homebrew/brew#donations
    ==> Next steps:
  • Run brew help to get started
  • Further documentation:
    https://docs.brew.sh
    Warning: Calling brew list to only list formulae is deprecated! Use brew list — formula instead.
    Warning: Calling brew list to only list formulae is deprecated! Use brew list — formula instead.
    Warning: Calling brew list to only list formulae is deprecated! Use brew list — formula instead.
    Warning: Calling brew list to only list formulae is deprecated! Use brew list — formula instead.
    Warning: Calling brew list to only list formulae is deprecated! Use brew list — formula instead.
    Warning: Calling brew list to only list formulae is deprecated! Use brew list — formula instead.
    Warning: Calling brew list to only list formulae is deprecated! Use brew list — formula instead.
    Warning: Calling brew list to only list formulae is deprecated! Use brew list — formula instead.
    Warning: Calling brew list to only list formulae is deprecated! Use brew list — formula instead.
    Warning: Calling brew list to only list formulae is deprecated! Use brew list — formula instead.
    Warning: Calling brew list to only list formulae is deprecated! Use brew list — formula instead.
    Warning: Calling brew list to only list formulae is deprecated! Use brew list — formula instead.
    Installing requirements for osx.
    Updating system — please wait
    Installing required packages: autoconf, automake, libtool, pkg-config, coreutils, libyaml, libksba, readline, zlib, openssl@1.1 — please wait
    Certificates bundle ‘/usr/local/etc/openssl@1.1/cert.pem’ is already up to date.
    Requirements installation successful.
    Installing Ruby from source to: /Users/Admin/.rvm/rubies/ruby-2.7.0-preview1, this may take a while depending on your cpu(s)…
    ruby-2.7.0-preview1 — #downloading ruby-2.7.0-preview1, this may take a while depending on your connection…
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    100 13.3M 100 13.3M 0 0 3282k 0 0:00:04 0:00:04 — : — : — 3282k
    ruby-2.7.0-preview1 — #extracting ruby-2.7.0-preview1 to /Users/Admin/.rvm/src/ruby-2.7.0-preview1 — please wait
    ruby-2.7.0-preview1 — #configuring — please wait
    ruby-2.7.0-preview1 — #post-configuration — please wait
    ruby-2.7.0-preview1 — #compiling — please wait
    ruby-2.7.0-preview1 — #installing — please wait
    ruby-2.7.0-preview1 — #making binaries executable — please wait
    Installed rubygems 3.1.0.pre1 is newer than 3.0.9 provided with installed ruby, skipping installation, use — force to force installation.
    ruby-2.7.0-preview1 — #gemset created /Users/Admin/.rvm/gems/ruby-2.7.0-preview1@global
    ruby-2.7.0-preview1 — #importing gemset /Users/Admin/.rvm/gemsets/global.gems — please wait
    ruby-2.7.0-preview1 — #generating global wrappers — please wait
    ruby-2.7.0-preview1 — #gemset created /Users/Admin/.rvm/gems/ruby-2.7.0-preview1
    ruby-2.7.0-preview1 — #importing gemsetfile /Users/Admin/.rvm/gemsets/default.gems evaluated to empty gem list
    ruby-2.7.0-preview1 — #generating default wrappers — please wait
    ruby-2.7.0-preview1 — #adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
    Install of ruby-2.7.0-preview1 — #complete
    Ruby was built without documentation, to build it run: rvm docs generate-ri

檢查重新安裝後的ruby版本

Admin@MyMac-mini ~ % ruby -v
ruby 2.7.0preview1 (2019–05–31 trunk c55db6aa271df4a689dc8eb0039c929bf6ed43ff) [x86_64-darwin20]

使用gem安裝cocoapods

Admin@MyMac-mini ~ % sudo gem install cocoapods
Password:

Fetching tzinfo-1.2.8.gem
Fetching concurrent-ruby-1.1.7.gem
Fetching i18n-1.8.5.gem
Fetching thread_safe-0.3.6.gem
Fetching activesupport-5.2.4.4.gem
Fetching nap-1.1.0.gem
Fetching fuzzy_match-2.0.4.gem
Fetching httpclient-2.8.3.gem
Fetching algoliasearch-1.27.5.gem
Fetching ffi-1.13.1.gem
Fetching ethon-0.12.0.gem
Fetching typhoeus-1.4.0.gem
Fetching netrc-0.11.0.gem
Fetching public_suffix-4.0.6.gem
Fetching addressable-2.7.0.gem
Fetching cocoapods-core-1.10.0.gem
Fetching claide-1.0.3.gem
Fetching cocoapods-deintegrate-1.0.4.gem
Fetching cocoapods-downloader-1.4.0.gem
Fetching cocoapods-plugins-1.0.0.gem
Fetching cocoapods-search-1.0.0.gem
Fetching cocoapods-trunk-1.5.0.gem
Fetching cocoapods-try-1.2.0.gem
Fetching molinillo-0.6.6.gem
Fetching atomos-0.1.3.gem
Fetching CFPropertyList-3.0.3.gem
Fetching colored2–3.1.2.gem
Fetching nanaimo-0.3.0.gem
Fetching xcodeproj-1.19.0.gem
Fetching escape-0.0.4.gem
Fetching fourflusher-2.3.1.gem
Fetching gh_inspector-1.1.3.gem
Fetching ruby-macho-1.4.0.gem
Fetching cocoapods-1.10.0.gem
/Users/Admin/.rvm/rubies/ruby-2.7.0-preview1/lib/ruby/gems/2.7.0/gems/gem-wrappers-1.4.0/lib/gem-wrappers/installer.rb:56: warning: Insecure world writable dir /usr/local/opt in PATH, mode 040777
Successfully installed concurrent-ruby-1.1.7
HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.
But that may break your application.
If you are upgrading your Rails application from an older version of Rails:
Please check your Rails app for ‘config.i18n.fallbacks = true’.
If you’re using I18n (>= 1.1.0) and Rails (< 5.2.2), this should be
‘config.i18n.fallbacks = [I18n.default_locale]’.
If not, fallbacks will be broken in your app by I18n 1.1.x.
If you are starting a NEW Rails application, you can ignore this notice.
For more info see:
https://github.com/svenfuchs/i18n/releases/tag/v1.1.0
Successfully installed i18n-1.8.5
Successfully installed thread_safe-0.3.6
Successfully installed tzinfo-1.2.8
Successfully installed activesupport-5.2.4.4
Successfully installed nap-1.1.0
Successfully installed fuzzy_match-2.0.4
Successfully installed httpclient-2.8.3
A new major version is available for Algolia! Please now use the https://rubygems.org/gems/algolia gem to get the latest features.
Successfully installed algoliasearch-1.27.5
Building native extensions. This could take a while…
Successfully installed ffi-1.13.1
Successfully installed ethon-0.12.0
Successfully installed typhoeus-1.4.0
Successfully installed netrc-0.11.0
Successfully installed public_suffix-4.0.6
Successfully installed addressable-2.7.0
Successfully installed cocoapods-core-1.10.0
Successfully installed claide-1.0.3
Successfully installed cocoapods-deintegrate-1.0.4
Successfully installed cocoapods-downloader-1.4.0
Successfully installed cocoapods-plugins-1.0.0
Successfully installed cocoapods-search-1.0.0
Successfully installed cocoapods-trunk-1.5.0
Successfully installed cocoapods-try-1.2.0
Successfully installed molinillo-0.6.6
Successfully installed atomos-0.1.3
Successfully installed CFPropertyList-3.0.3
Successfully installed colored2–3.1.2
Successfully installed nanaimo-0.3.0
Successfully installed xcodeproj-1.19.0
Successfully installed escape-0.0.4
Successfully installed fourflusher-2.3.1
Successfully installed gh_inspector-1.1.3
Successfully installed ruby-macho-1.4.0
Successfully installed cocoapods-1.10.0
Parsing documentation for concurrent-ruby-1.1.7
Installing ri documentation for concurrent-ruby-1.1.7
Parsing documentation for i18n-1.8.5
Installing ri documentation for i18n-1.8.5
Parsing documentation for thread_safe-0.3.6
Installing ri documentation for thread_safe-0.3.6
Parsing documentation for tzinfo-1.2.8
Installing ri documentation for tzinfo-1.2.8
Parsing documentation for activesupport-5.2.4.4
Installing ri documentation for activesupport-5.2.4.4
Parsing documentation for nap-1.1.0
Installing ri documentation for nap-1.1.0
Parsing documentation for fuzzy_match-2.0.4
Installing ri documentation for fuzzy_match-2.0.4
Parsing documentation for httpclient-2.8.3
Installing ri documentation for httpclient-2.8.3
Parsing documentation for algoliasearch-1.27.5
Installing ri documentation for algoliasearch-1.27.5
Parsing documentation for ffi-1.13.1
Installing ri documentation for ffi-1.13.1
Parsing documentation for ethon-0.12.0
Installing ri documentation for ethon-0.12.0
Parsing documentation for typhoeus-1.4.0
Installing ri documentation for typhoeus-1.4.0
Parsing documentation for netrc-0.11.0
Installing ri documentation for netrc-0.11.0
Parsing documentation for public_suffix-4.0.6
Installing ri documentation for public_suffix-4.0.6
Parsing documentation for addressable-2.7.0
Installing ri documentation for addressable-2.7.0
Parsing documentation for cocoapods-core-1.10.0
Installing ri documentation for cocoapods-core-1.10.0
Parsing documentation for claide-1.0.3
Installing ri documentation for claide-1.0.3
Parsing documentation for cocoapods-deintegrate-1.0.4
Installing ri documentation for cocoapods-deintegrate-1.0.4
Parsing documentation for cocoapods-downloader-1.4.0
Installing ri documentation for cocoapods-downloader-1.4.0
Parsing documentation for cocoapods-plugins-1.0.0
Installing ri documentation for cocoapods-plugins-1.0.0
Parsing documentation for cocoapods-search-1.0.0
Installing ri documentation for cocoapods-search-1.0.0
Parsing documentation for cocoapods-trunk-1.5.0
Installing ri documentation for cocoapods-trunk-1.5.0
Parsing documentation for cocoapods-try-1.2.0
Installing ri documentation for cocoapods-try-1.2.0
Parsing documentation for molinillo-0.6.6
Installing ri documentation for molinillo-0.6.6
Parsing documentation for atomos-0.1.3
Installing ri documentation for atomos-0.1.3
Parsing documentation for CFPropertyList-3.0.3
Installing ri documentation for CFPropertyList-3.0.3
Parsing documentation for colored2–3.1.2
Installing ri documentation for colored2–3.1.2
Parsing documentation for nanaimo-0.3.0
Installing ri documentation for nanaimo-0.3.0
Parsing documentation for xcodeproj-1.19.0
Installing ri documentation for xcodeproj-1.19.0
Parsing documentation for escape-0.0.4
Installing ri documentation for escape-0.0.4
Parsing documentation for fourflusher-2.3.1
Installing ri documentation for fourflusher-2.3.1
Parsing documentation for gh_inspector-1.1.3
Installing ri documentation for gh_inspector-1.1.3
Parsing documentation for ruby-macho-1.4.0
Installing ri documentation for ruby-macho-1.4.0
Parsing documentation for cocoapods-1.10.0
Installing ri documentation for cocoapods-1.10.0
Done installing documentation for concurrent-ruby, i18n, thread_safe, tzinfo, activesupport, nap, fuzzy_match, httpclient, algoliasearch, ffi, ethon, typhoeus, netrc, public_suffix, addressable, cocoapods-core, claide, cocoapods-deintegrate, cocoapods-downloader, cocoapods-plugins, cocoapods-search, cocoapods-trunk, cocoapods-try, molinillo, atomos, CFPropertyList, colored2, nanaimo, xcodeproj, escape, fourflusher, gh_inspector, ruby-macho, cocoapods after 50 seconds
34 gems installed

cocoapods快速更新

等同於pod repo update,意即將開源放在github上的檔案下載至本地端。
https://github.com/CocoaPods/Specs
Admin@MyMac-mini ~ % pod setup

zsh: /usr/local/bin/pod: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: no such file or directory

Setup completed ~安裝成功

移動至xcode專案,並於使用cocoapods安裝第三方套件

Admin@MyMac-mini ~ % cd /Users/Admin/Desktop/Hellomyapp
Admin@MyMac-mini Hellomyapp % pod install

zsh: /usr/local/bin/pod: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: no such file or directory
Analyzing dependencies
Adding spec repo trunk with CDN https://cdn.cocoapods.org/
Downloading dependencies
Generating Pods project
Integrating client project
Pod installation complete! There are 14 dependencies from the Podfile and 15 total pods installed.
[!] The SecondTarget [Debug] target overrides the ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES build setting defined in `Pods/Target Support Files/Pods-SecondTarget/Pods-SecondTarget.debug.xcconfig’. This can lead to problems with the CocoaPods installation

  • Use the $(inherited) flag, or
  • Remove the build settings from the target.
    [!] The SecondTarget [Release] target overrides the ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES build setting defined in `Pods/Target Support Files/Pods-SecondTarget/Pods-SecondTarget.release.xcconfig’. This can lead to problems with the CocoaPods installation
  • Use the $(inherited) flag, or
  • Remove the build settings from the target.
    [!] The ThirdTarget [Debug] target overrides the ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES build setting defined in `Pods/Target Support Files/Pods-ThirdTarget/Pods-ThirdTarget.debug.xcconfig’. This can lead to problems with the CocoaPods installation
  • Use the $(inherited) flag, or
  • Remove the build settings from the target.
    [!] The ThirdTarget [Release] target overrides the ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES build setting defined in `Pods/Target Support Files/Pods-ThirdTarget/Pods-ThirdTarget.release.xcconfig’. This can lead to problems with the CocoaPods installation
  • Use the $(inherited) flag, or
  • Remove the build settings from the target.
    [!] Your project does not explicitly specify the CocoaPods master specs repo. Since CDN is now used as the default, you may safely remove it from your repos directory via pod repo remove master. To suppress this warning please add warn_for_unused_master_specs_repo => false to your Podfile.

更新gem版本

為解決以下錯誤訊息,進行以下指令

zsh: /usr/local/bin/pod: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: no such file or directory
Admin@MyMac-mini Hellomyapp % cd ~
Admin@MyMac-mini ~ % sudo gem update — system
Password:輸入使用者密碼
Updating rubygems-update
Fetching rubygems-update-3.2.0.gem
/Users/Admin/.rvm/rubies/ruby-2.7.0-preview1/lib/ruby/gems/2.7.0/gems/gem-wrappers-1.4.0/lib/gem-wrappers/installer.rb:56: warning: Insecure world writable dir /usr/local/opt in PATH, mode 040777
Successfully installed rubygems-update-3.2.0
Parsing documentation for rubygems-update-3.2.0
Installing ri documentation for rubygems-update-3.2.0
Installing darkfish documentation for rubygems-update-3.2.0
Done installing documentation for rubygems-update after 85 seconds
Parsing documentation for rubygems-update-3.2.0
Done installing documentation for rubygems-update after 0 seconds
Installing RubyGems 3.2.0
Successfully built RubyGem
Name: bundler
Version: 2.2.0
File: bundler-2.2.0.gem
Bundler 2.2.0 installed
RubyGems 3.2.0 installed
Regenerating binstubs
Regenerating plugins
Parsing documentation for rubygems-3.2.0
Installing ri documentation for rubygems-3.2.0
=== 3.2.0.rc.1 / 2020–07–04
Major enhancements:

  • Test TruffleRuby in CI. Pull request #2797 by Benoit Daloze.
  • Rework plugins system and speed up rubygems. Pull request #3108 by David
    Rodríguez.
    Minor enhancements:
  • Specify explicit separator not to be affected by $;. Pull request #3424
    by Nobuyoshi Nakada.
  • Enable Layout/ExtraSpacing cop. Pull request #3449 by David Rodríguez.
  • Rollback gem deprecate. Pull request #3530 by Luis Sagastume.
  • Normalize heredoc delimiters. Pull request #3533 by David Rodríguez.
  • Log messages to stdout in rake package. Pull request #3632 by David
    Rodríguez.
  • Remove explicit psych activation. Pull request #3636 by David
    Rodríguez.
  • Delay fileutils loading to fix some warnings. Pull request #3637 by
    David Rodríguez.
  • Make sure rubygems/package can be directly required reliably. Pull
    request #3670 by Luis Sagastume.
  • Make sure tmp folder exists before calling Dir.tmpdir. Pull request
    #3711 by David Rodríguez.
  • Add Gem.disable_system_update_message to disable gem update — system if
    needed. Pull request #3720 by Josef Šimánek.
  • Tweaks to play nice with ruby-core setup. Pull request #3733 by David
    Rodríguez.
  • Remove explicit require for auto-loaded constant. Pull request #3751 by
    Karol Bucek.
  • Test files should not be included in spec.files. Pull request #3758 by
    Marc-André Lafortune.
  • Remove TODO comment about warning on setting instead of pushing. Pull
    request #2823 by Luis Sagastume.
  • Add deprecate command method. Pull request #2935 by Luis Sagastume.
  • Simplify deprecate command method. Pull request #2974 by Luis Sagastume.
  • Fix Gem::LOADED_SPECS_MUTEX handling for recursive locking. Pull request
    #2985 by MSP-Greg.
  • Add funding_uri metadata field to gemspec. Pull request #3060 by
    Colby Swandale.
  • Updates to some old gem-signing docs. Pull request #3063 by Tieg
    Zaharia.
  • Update the gem method for Gem::Installer. Pull request #3137 by Daniel
    Berger.
  • Simplify initial gem help output. Pull request #3148 by Olivier Lacan.
  • Resolve latest version via gem contents. Pull request #3149 by Dan
    Rice.
  • Install suggestions. Pull request #3151 by Sophia Castellarin.
  • Only rescue the errors we actually want to rescue. Pull request #3156 by
    David Rodríguez.
    Bug fixes:
  • Accept not only /usr/bin/env but also /bin/env in some tests. Pull
    request #3422 by Yusuke Endoh.
  • Skip a test that attempts to remove the current directory on Solaris.
    Pull request #3423 by Yusuke Endoh.
  • Fix race condition on bundler’s parallel installer. Pull request #3440
    by David Rodríguez.
  • Fix platform comparison check in #contains_requirable_file?. Pull
    request #3495 by Benoit Daloze.
  • Improve missing spec error. Pull request #3559 by Luis Sagastume.
  • Fix hidden bundler template installation from rubygems updater. Pull
    request #3674 by David Rodríguez.
  • Fix gem update — user-install. Pull request #2901 by Luis Sagastume.
  • Correct conflict list when uninstallation is prevented. Pull request
    #2973 by David Rodríguez.
  • Fix error when trying to find bundler with a deleted “working directo….
    Pull request #3090 by Luis Sagastume.
  • Fix -I require priority. Pull request #3124 by David Rodríguez.
  • Fix ruby setup.rb for new plugins layout. Pull request #3144 by David
    Rodríguez.
    Deprecations:
  • Set deprecation warning on query command. Pull request #2967 by Luis
    Sagastume.
    Breaking changes:
  • Remove ruby 1.8 leftovers. Pull request #3442 by David Rodríguez.
  • Minitest cleanup. Pull request #3445 by David Rodríguez.
  • Remove builder gem requirement for gem regenerate_index. Pull
    request #3552 by David Rodríguez.
  • Remove modelines for consistency. Pull request #3714 by David Rodríguez.
  • Stop using deprecated OpenSSL::Digest constants. Pull request #3763 by
    Bart de Water.
  • Remove Gem module deprecated methods. Pull request #3101 by Luis
    Sagastume.
  • Remove ubygems.rb. Pull request #3102 by Luis Sagastume.
  • Remove Gem::Commands::QueryCommand. Pull request #3104 by Luis
    Sagastume.
  • Remove dependency installer deprecated methods. Pull request #3106 by
    Luis Sagastume.
  • Remove Gem::UserInteraction#debug method. Pull request #3107 by Luis
    Sagastume.
  • Remove options from Gem::GemRunner.new. Pull request #3110 by Luis
    Sagastume.
  • Remove deprecated Gem::RemoteFetcher#fetch_size. Pull request #3111 by
    Luis Sagastume.
  • Remove source_exception from Gem::Exception. Pull request #3112 by Luis
    Sagastume.
  • Requiring rubygems/source_specific_file is deprecated, remove it. Pull
    request #3114 by Luis Sagastume.
    === 3.1.4 / 2020–06–03
    Minor enhancements:
  • Deprecate rubyforge_project attribute only during build
    time. Pull request #3609 by Josef Šimánek.
  • Update links. Pull request #3610 by Josef Šimánek.
  • Run CI at 3.1 branch head as well. Pull request #3677 by Josef Šimánek.
  • Remove failing ubuntu-rvm CI flow. Pull request #3611 by
    Josef Šimánek.
    === 3.1.3 / 2020–05–05
    Minor enhancements:
  • Resolver: require NameTuple before use. Pull request #3171 by Olle
    Jonsson.
  • Use absolute paths with autoload. Pull request #3100 by David Rodríguez.
  • Avoid changing $SOURCE_DATE_EPOCH. Pull request #3088 by Ellen Marie
    Dash.
  • Use Bundler 2.1.4. Pull request #3072 by Hiroshi SHIBATA.
  • Add tests to check if Gem.ruby_version works with ruby git master.
    Pull request #3049 by Yusuke Endoh.
    Bug fixes:
  • Fix platform comparison check in #contains_requirable_file?. Pull
    request #3495 by Benoit Daloze.
  • Improve gzip errors logging. Pull request #3485 by David Rodríguez.
  • Fix incorrect gem uninstall — all message. Pull request #3483 by David
    Rodríguez.
  • Fix incorrect bundler version being required. Pull request #3458 by
    David Rodríguez.
  • Fix gem install from a gemdeps file with complex dependencies.
    Pull request #3054 by Luis Sagastume.
    === 3.1.2 / 2019–12–20
    Minor enhancements:
  • Restore non prompting gem update — system behavior. Pull request #3040
    by David Rodríguez.
  • Show only release notes for new code installed. Pull request #3041 by
    David Rodríguez.
  • Inform about installed bundle executable after gem update — system.
    Pull request #3042 by David Rodríguez.
  • Use Bundler 2.1.2. Pull request #3043 by SHIBATA Hiroshi.
    Bug fixes:
  • Require uri in source.rb. Pull request #3034 by mihaibuzgau.
  • Fix gem update — system — force. Pull request #3035 by David
    Rodríguez.
  • Move require uri to source_list. Pull request #3038 by mihaibuzgau.
    === 3.1.1 / 2019–12–16
    Bug fixes:
  • Vendor Bundler 2.1.0 again. The version of Bundler with
    RubyGems 3.1.0 was Bundler 2.1.0.pre.3. Pull request #3029 by
    SHIBATA Hiroshi.
    === 3.1.0 / 2019–12–16
    Major enhancements:
  • Vendor bundler 2.1. Pull request #3028 by David Rodríguez.
    Minor enhancements:
  • Check for rubygems.org typo squatting sources. Pull request #2999 by
    Luis Sagastume.
  • Refactor remote fetcher. Pull request #3017 by David Rodríguez.
  • Lazily load open3. Pull request #3001 by David Rodríguez.
  • Remove delegate dependency. Pull request #3002 by David Rodríguez.
  • Lazily load uri. Pull request #3005 by David Rodríguez.
  • Lazily load rubygems/gem_runner during tests. Pull request #3009 by
    David Rodríguez.
  • Use bundler to manage development dependencies. Pull request #3012 by
    David Rodríguez.
    Bug fixes:
  • Remove unnecessary executable flags. Pull request #2982 by David
    Rodríguez.
  • Remove configuration that contained a typo. Pull request #2989 by David
    Rodríguez.
    Deprecations:
  • Deprecate gem generate_index — modern and gem generate_index — no-modern. Pull request #2992 by David Rodríguez.
    Breaking changes:
  • Remove 1.8.7 leftovers. Pull request #2972 by David Rodríguez.
    === 3.1.0.pre3 / 2019–11–11
    Minor enhancements:
  • Fix gem pristine not accounting for user installed gems. Pull request
    #2914 by Luis Sagastume.
  • Refactor keyword argument test for Ruby 2.7. Pull request #2947 by
    SHIBATA Hiroshi.
  • Fix errors at frozen Gem::Version. Pull request #2949 by Nobuyoshi
    Nakada.
  • Remove taint usage on Ruby 2.7+. Pull request #2951 by Jeremy Evans.
  • Check Manifest.txt is up to date. Pull request #2953 by David Rodríguez.
  • Clarify symlink conditionals in tests. Pull request #2962 by David
    Rodríguez.
  • Update command line parsing to work under ps. Pull request #2966 by
    David Rodríguez.
  • Properly test Gem::Specifications.stub_for. Pull request #2970 by
    David Rodríguez.
  • Fix Gem::LOADED_SPECS_MUTEX handling for recursive locking. Pull request
    #2985 by MSP-Greg.
    === 3.1.0.pre2 / 2019–10–15
    Minor enhancements:
  • Optimize Gem::Package::TarReader#each. Pull request #2941 by Jean byroot
    Boussier.
  • Time comparison around date boundary. Pull request #2944 by Nobuyoshi
    Nakada.
    — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
    RubyGems installed the following executables:
    /Users/Admin/.rvm/rubies/ruby-2.7.0-preview1/bin/gem
    /Users/Admin/.rvm/rubies/ruby-2.7.0-preview1/bin/bundle
    Ruby Interactive (ri) documentation was installed. ri is kind of like man
    pages for Ruby libraries. You may access it like this:
    ri Classname
    ri Classname.class_method
    ri Classname#instance_method
    If you do not wish to install this documentation in the future, use the
    — no-document flag, or set it as the default in your ~/.gemrc file. See
    ‘gem help env’ for details.
    RubyGems system software updated

再次使用gem安裝cocoapods並移動至/usr/local/bin

Admin@MyMac-mini ~ % sudo gem install cocoapods -n /usr/local/bin

/Users/Admin/.rvm/rubies/ruby-2.7.0-preview1/lib/ruby/gems/2.7.0/gems/gem-wrappers-1.4.0/lib/gem-wrappers/installer.rb:56: warning: Insecure world writable dir /usr/local/opt in PATH, mode 040777
Successfully installed cocoapods-1.10.0
Parsing documentation for cocoapods-1.10.0
Done installing documentation for cocoapods after 2 seconds
1 gem installed

重新cocoapods快速安裝

Admin@MyMac-mini ~ % pod setup

Setup completed ~安裝成功且沒有出現錯誤訊息/images/emoticon/emoticon34.gif


上一篇
限制輸入框語言
下一篇
客製化帶背景音樂與畫面淡出的launchScreen
系列文
轉職App開發打怪雜記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言